home *** CD-ROM | disk | FTP | other *** search
- /* Listing 4 - Mini-View von Gunther Lemm
- Dieses kleine ARexx-Programm ist ein Datei-Analysator,
- der dazu in der Lage ist, die Dateitypen Text, IFF-Bild,
- IFF-Sample LHA-Archiv und ARexx zu unterscheiden. Nachdem
- einer der genannten Dateitypen erkannt wurde, startet
- Mini-View automatisch ein passendes Anzeigeprogramm und
- lädt die Datei. Es muß unter dem Namen »Mini-View.rexx«
- in den Ordner »SYS:Rexxc« geschrieben werden. */
-
- Address COMMAND /* Nicht-ARexx-Befehle zum CLI */
- Parse ARG file /* Aufrufparameter einlesen */
-
- /* keine Parameter übergeben-> More starten */
- If file = "" Then Do ; "run SYS:Utilities/more"; Exit;End
- if left(file,1)~='"' then file='"'||file||'"'
-
- pos=Lastpos(".",file)
- suffix=""
- If pos>0 Then suffix = Upper(Right(file,Length(file)-pos))
- If Length(suffix)>0 && Right(suffix,1)='"' Then suffix=Left(suffix,Length(suffix)-1)
-
- /* Suffix-Check (ist schneller als der Byte-Check) */
- Select
- When suffix = "DOC" Then p=1
- When suffix = "DOK" Then p=1
- When suffix = "ASC" Then p=1
- When suffix = "TXT" Then p=1
- When suffix = "IFF" Then p=2
- When suffix = "PIC" Then p=2
- When suffix = "BRUSH" Then p=2
- When suffix = "SAMPLE" Then p=3
- When suffix = "SND" Then p=3
- When suffix = "SMP" Then p=3
- When suffix = "LHA" Then p=4
- When suffix = "LZH" Then p=4
- When suffix = "REXX" Then p=5
- Otherwise Do /* kein (bekannter) Suffix */
-
- /* Checkt die ersten 20 Bytes, falls der Suffix-Check
- nicht erfolgreich war. Index(xx,"TEXT") = 9 gibt die
- Position des ersten Zeichens von TEXT in der Datei an.
- Für BeckerText(e) wäre das: When Index(inp,"BTXTTEXT")=1
- Then ... */
- dummy="ergo=Open(in,"file")"
- interpret dummy
- if ergo=1 then do
- inp = ReadCh(in,20)
- ergc=Close(in)
- Select
- When Index(inp,"ILBM") = 9 Then p=2
- When Index(inp,"8SVX") = 9 Then p=3
- Otherwise p=1
- End
- End
- End
- End
- cli=' >CON:0/0/640/256/Archiv-Inhalt.../DELAY/WAIT/CLOSE'
-
- Select /* Anzeigeprogramm starten & Datei einladen */
- /* Text anzeigen */
- When p=1 Then address command 'run SYS:utilities/more 'file
- /* Bild anzeigen */
- When p=2 Then 'SYS:Utilities/Display '||file
- /* Sample abspielen (mit Upd über ARexx) */
- When p=3 Then Address PLAY 'file '||file||' -S'
- /* Archiv auflisten */
- When p=4 Then 'SYS:c/Lha l '||file||cli
- /* ARexx-Programm starten */
- When p=5 Then 'SYS:rexxc/RX '||file
- End
- Exit
- /* Das Archivierungsprogramm Lha ist in den C:-Ordnern
- der meisten FISH-Disks zu finden. Sie müssen es in
- Ihren C:-Ordner kopieren, um die Archiv-Auflistungs-
- Funktion nutzen zu können. */
-